details widget name

File storage

Chapter details

Currently ATLAS is storing the binary files in a separate database in order to improve the performance of the core ATLAS database and to ease the backup management tasks.

This database contains a single table "file_byte_content" with two columns:

  1. file_uid - stores the identificator of the file;
  2. file_content - stores the binary content of the file in a "bytea" field.

When a file is about to be saved or deleted, ATLAS creates a cross-database transaction, using Bitronix Transaction Manager (http://docs.codehaus.org/display/BTM/Home). The transaction spans accross the core ATLAS database, where the file metadata (name, mime type, size, timestamps) is stored, and the file database, where the file content is stored.

Changing the ATLAS file store

It is possible to replace the database fil  store with an alternative implementation. e.g. file system, WebDAV, SVN or other. In order to do this, a developer has to implement a service based on the "com.tetracom.atlas.file.api.dao.IFileDAO" interface.